|
改了一下,这次运算应该没啥问题了
3 {6 w+ c9 e+ }2 i
2 _, ~/ W, Q6 A0 W9 y4 Z
" A. r% n7 N mcapture program drop hello
1 N% l6 Q, _) _* d$ e. L
0 d9 L9 p* l- A% \program hello+ m! @4 O3 l( r! b
4 h. f+ c8 P. F0 a! w quietly {
4 v/ X! T0 v/ l# _6 `) m2 j! a( A9 h f3 r
clear
0 g9 `: t( p( M' H# q V9 K- z' k/ I7 q
cd e:\finance\stock\20110101\source2 p1 \& |# u# N, J- I- ^7 k. [5 f1 j
$ N( B S* q+ R
insheet using `1'.txt
+ B% r. M7 R/ y5 E8 W3 u) @. F; j$ J, i8 M
keep if v5>02 T1 a- n' M2 w) c4 k9 F8 D
, M7 ~. x. n: m7 n- q) L! g gen vt=_n6 Z# R5 s% F. @0 o/ P
. m( @0 }* e5 ^ tsset vt
4 E. S8 w! w1 `$ H! D* ]% m( F; J* \$ U
gen zf=D1.v5
6 F$ h( I& j9 b- X0 |
; Y T8 ?6 x/ Y4 t* F* P gsort -v1
( \9 d% L- l. i) R! `1 _
" \% x. D( U Q7 x$ q gen avol=v7/v5
9 y0 S9 i! }0 W# A& x & G- a: Z n& H" _7 p, v
keep if avol>0$ Q. U7 X1 S w, g1 ~, V
/ D# G* g' M2 F7 H# X
drop vt }$ C+ m3 x6 x% T$ h7 T: H
) X2 ]' q0 d! `
gen vt=_n
$ H! }5 @8 O A
/ x$ @5 |2 c, X$ e& e1 @% X tsset vt1 N7 Z6 k8 z4 V" j! C+ h. l. K+ x
! i) m; E9 n4 {1 T; ]3 l* M. J, U
sum v5 [aw =avol]5 T% m" {2 i* ?/ ]
" M; I+ D7 f+ P4 Q gen amean=r(mean) in 1/ Z, f0 Q" [6 w2 R Y8 s9 `
3 g- h; x$ x. o4 ? c
* 总加权平均值 amean
" w# j1 B: [) u
, H+ n; N1 h3 o8 @3 E4 j # }% n. [7 R* x g) a' Z8 k
keep in 1/2403 r2 g. ~1 T' I& @8 x$ F
8 A$ U+ u+ p& b8 ]0 R3 i sum v5 [aw =avol]& [4 S3 a4 ] @: u: V
2 A$ r/ _ _4 z% c, @/ p6 c7 B/ V
gen mean240=r(mean) in 1" [4 H/ u/ k- U9 F8 F$ q- t
! K3 ]8 W# j& V2 u4 [# a *240加权平均值 mean240
0 _) g) I4 J J7 R! k% {
) P* k4 c1 N7 E( J set obs 500 % _! N0 c. h: R2 E2 } Z
4 `5 v# ]1 G7 i) P& v kdensity v5 [aw =avol],gaussian n(500) generate(dx240 dy240) nograph' X. N7 s* M) k
5 N, t6 Y& Q' ?! |( J, u( a6 Y *240 kdensity(dx240 dy240)
1 i- K0 q% }+ g% v7 M+ k ) B$ ]! O; K% G" o
sum dy240
: H& J9 ]0 H4 v' N" k# p
' ?2 n' A1 B: |1 T4 v gen yxis=r(max) in 1
' L+ A* P/ }/ @' r4 [; d; F " @' A; S. s1 E9 W
gen yxis2=yxis/29 u* R' U2 W& O1 U
9 F9 c9 T @, R) z9 k *yxis
4 h: Q( u& W3 x# H, R+ s
, ^) V5 ^9 ?3 N. a6 q" ] gen dy240max=r(max)- Q# G/ y! Y/ C5 C ^8 F
q' ?5 w7 l6 i v gen dy240minp=r(min)+ k9 r( P6 O6 [- ^5 J
3 `+ H; ~$ s* C5 ^# T: _$ ^: {
gen vtt=_n+ R8 c# A( A! j
( M9 w6 M3 E( G5 J, K0 c
tsset vtt
+ C' _, w) ~1 |8 R- m. L T* i0 W+ I/ [, i4 }9 @$ i0 P
gen ddy240=D1.dy240/D1.dx2402 C$ y' |# B. I5 {& e: L' x& U o
0 Y0 D( z6 L* s, ?: R) f2 W sum ddy240
: u! D/ d2 H! _: ]' f) m. }& t: {
- w' l' A& _# w4 o% z' g1 n gen ddy240max=r(max)
+ c& y; B0 w, v% R6 h2 K( [) d
* h0 M7 L3 \$ Z" h6 [ gen ddy240min=r(min)
: L. c5 L" l( d+ l6 W1 o ! n# d8 U' P9 A& f4 W$ d
gen ddy240g=ddy240*(dy240max-dy240min)/(ddy240max-ddy240min)9 x5 B$ i1 V- T" c3 Q1 i" |- e3 `
0 r$ T2 K3 f& W* {, _: s, F
sum ddy240g
5 e6 Z& M/ l# [! l# |" a 6 b, N& B7 H& Y2 P* Y* o
gen yxis3=r(min) in 1/ R' h! r( l8 E2 @. ?: l% t/ G3 e) b
; W7 Z3 K; R3 S- t' d6 s gen yxis4=0 in 1
! H6 E5 _) ?/ v G% D3 M
6 K; w! s: P5 \, Y *ddy240g
8 f; W) j1 f0 S( ]7 f/ P 1 }! w& Z" h0 S0 ?2 o' G1 p
% O4 R) H3 N) }( g: Q% g% v preserve ) o; ?' L, [- Z4 v3 E1 @
# h' ]$ W ~- b+ j) H* }" n; m sum v5 [aw =avol]+ y; g, v$ b% Y x; z/ [
- s& N9 B! D( b$ O
keep if dx240<r(mean)
8 o, I9 L, q" @* l l1 Z 6 X5 R- m1 m& r' S
sum ddy240
7 J8 Z+ q* K- S5 A
0 `# j# _3 |8 F if r(min)<0 {
. M, k5 w) j9 A% J& `
# h* Q3 ]3 C @9 {3 v keep if ddy240<=0/ y& o. W4 Y U: p
6 Z5 K3 N2 O3 n7 e
count
b. @" H% P- m6 v6 n, S M* m8 L. S* s3 ^
if r(N)>2 {' y: L" b2 i* p% \% [4 v: p! q
" E3 O2 L ?! A% _ y% [
pkexamine dx240 dy240; x+ e/ U% u; L. S. W0 v
" f$ x! j5 j( J local tempminp=r(tomc) L3 a; ^0 R' L& z8 V
restore
$ U7 g% ]. c* P% X M. _ }. ^- S0 [8 D i4 u
; _. Z2 N+ W7 A+ Y$ b: y2 `
else {
: i+ O8 X$ V# S7 p * f; \7 t# k0 @4 q& a3 |
di "cannot find minp"$ \/ A$ t0 g" t2 `3 v' m5 d
! f8 E0 i; @4 @/ t restore 5 G' u: x B+ g. b" k
sum dx2408 y' F) M4 V8 m# `0 i/ O
local tempminp=r(mean)
' `. C m+ K! o1 L# h
, O4 r8 V1 z: e9 p2 L- i; G }
" c9 [, A' V/ {) Z/ y( a+ ^ }8 e7 ]( h7 ?5 K
else {+ R: i# n- R3 x" ~' v
7 p; E3 v5 e5 Q% P' q keep if ddy240<=r(min)+ B! T6 j( ?7 ^% a( ]! k
, V" { Y" ]* z3 `0 p( A
sum dx240# S6 J2 M) v+ a6 H+ b, H& a* e2 q3 Y
: {( A( y6 ^8 K- q4 n5 z6 _; X3 k' _ local tempminp=r(min)
G/ _& _5 B! I8 z3 R c restore
( {' S' R8 k' U) ` }
( v- C$ q- h/ k0 e$ _% K
# N) f5 v+ j+ O h, Z: y& {; W
8 S8 Z5 W! X8 u* k* y Y1 b% w0 H; p+ p: i+ N( k+ L
gen minp=`tempminp' in 1
3 d" R/ Z9 D. `9 s; M( k *240 minp
/ f' s b1 F+ S. L3 ]
" x( I; }* C9 m8 H* J" P! U8 F s+ P$ r. L( }. r) v. T! n) T
7 B4 R9 { k% Q u# r0 F% v, _/ a preserve + ]+ ?: E! q! Q- U( J
2 ]# n% M W" m# S sum v5 [aw =avol]0 F2 ]7 ?4 r( V( b- E0 p: I* k/ u. o& j
* V1 D! @+ A) f" `+ [+ k0 Z
keep if dx240>r(mean)! y: ?( v$ \: H" s4 p n8 c, ]
' P! M6 a/ H- u6 D* w7 H sum ddy240
* E' J3 ^( f, o( x9 R. Z
! w3 y N! _ f' Z if r(max)>0 {# N, q: A( o2 Q( X$ u3 Z! C
- E6 L' C: s) o: W* ]0 W
keep if ddy240>=0/ h. H8 A- K+ \' a( O% t% f
( x3 N: N4 n' N N+ a
count
5 X$ v1 Y: S0 l8 W. [8 B. E 8 x, g9 q- q0 [; K2 @, l1 s
if r(N)>2 {
0 F8 j3 _" Q* z ; E" T# i1 V. H: ~8 n( A4 E9 l
pkexamine dx240 dy240
, D5 @! s I$ z5 j9 F3 K
- T: `9 {3 d. L+ i; G! k5 q, J local tempmaxp=r(tomc)
2 I0 F( G: [7 X4 w( @ restore % L: c. h, k& x$ ~
}" u. p8 z5 T: q2 [
5 n% M# |2 o% [9 }% ]
+ I) @; k/ o1 y0 D# n4 B. e2 j! M
else {9 f( ]( R. Z; {6 Y
restore % D- y9 c3 b% E/ Q0 Q- H
di "cannot find maxp"
# m4 X# P; D# Z" b! a' a2 R
( m* C: f9 H( n4 r/ z4 o* j0 F" h9 W
1 o! ~7 j3 n U" ~# C3 ]) n I sum dx240
/ h& L9 S2 c9 L- c local tempmaxp=r(mean)
0 f5 m S# E& R& ] - B" w: [% o* P4 n/ e3 }
}' Y: @% G, Y8 F* P& d. W5 V. f \" @8 h
2 y+ b8 u, r8 a* K5 z; l }
. Y# B1 E: V6 m) g' R( s
: j# ?3 n$ }5 @1 q3 g6 }7 ] else {
) y2 |: o! V' @3 [$ P# s 7 b6 W: O9 W- X/ r: h/ z6 _
keep if ddy240>=r(max)+ z/ @4 X3 [* J$ _ [* V
: u& g( X$ S4 k7 h7 C2 H( C sum dx240
4 C* _$ v' v- }5 G
) `& L2 F) E: I8 h( i( w local tempmaxp=r(max)
( Z! ^: ~/ z& D0 V" V- y+ G/ ? restore + M& |+ j9 S$ [
}
- u6 P* P. c" l5 J
, T) w& ~. c! {9 Z! o7 J
$ y K! K; q. @) o' ] $ J) J. P; j# g+ |: c
3 p( S6 _, m- a1 y N
gen maxp=`tempmaxp' in 1. q5 x8 h+ N; S7 {
! T u1 e$ s; T! k
*240maxp6 i+ W' U9 h" P* V
& U) T5 C4 z" h$ O - b) y4 l4 ?5 I
*-------------ddy240pminp左侧高峰值-----/ ]. \* ]( d m2 q8 b. D z# U8 g
4 D5 J4 i9 P/ W6 s8 @ preserve : J$ C$ T/ |( y9 P7 i9 K
! \" Z3 i/ |/ R" [4 O9 `' j3 a% f keep if dx240<`tempminp'
- }" i6 s& u3 T; ~3 t
5 N! U0 Z. L& i- Q keep if ddy240>06 B3 f# Y/ e5 B4 ]
5 ] i% P# O7 m# j4 w0 g count- J; B% z4 o0 ~
4 \# l, a, Y, |& t- Y4 K1 V
if r(N)>2 {
- K$ [: E# e v* f) Q
% U1 I6 h/ @1 g pkexamine dx240 ddy240
& a' |4 U" H4 ]
( x8 H# E6 i# Y local tempminphddy240=r(tomc)
, _3 f1 N4 |- |0 ^# ^9 O4 s restore \% b! ^) B1 J0 n$ T- L
}. q# o" ~+ ]3 f1 V0 d2 c
+ C: \. U# G6 B: g; ]' E
else {
/ D. S$ r* \9 l; J restore
1 i! N" Y* Y( e2 U/ y- {$ l di "cannot find pminphddy240"
9 j( L' H- O+ d& F6 E3 Y ) C/ X: ~- B0 l9 o' b. ]
3 \3 w) H: G8 M5 F5 U
sum dx240
) @! u8 D+ Q0 c( m: H( G" M" e# O local tempminphddy240=r(mean)
0 w- e- s; k* n, Q2 L& k( u
3 Y* z8 ~" U# t! x % j( e, b% O3 y9 g7 M% B5 N
}2 ~% }7 s* ~8 I" Y* S/ G
( {3 z+ O: H8 c5 O% ^1 ~6 X / q1 G& @5 N4 v% }$ c/ t
Y0 v# Z5 V+ n$ n: [, ^2 |; X
( e+ g8 _ ^/ S9 d, A4 x
`3 ~/ D& g, R
3 c5 N+ O- V; f gen pminphddy240=`tempminphddy240' in 1
- A! X$ M) B. ?9 Q 5 ~% H) h! r. ~, k6 u) e
* Q5 K9 r, e3 I2 ^8 l
*-------------ddy240pminp右侧低峰值 -----------------1 Q, ^7 o6 W. F+ d2 m
preserve
$ O- l- g! |; b # s: B, y" j9 Q4 i7 Z' s
keep if dx240>`tempminp'
9 [3 o# @4 ^# W$ Y { ' F7 n( l5 |8 X7 z) m
keep if dx240<`tempmaxp'3 C% H' R. |6 h6 {/ a* ^
, f, i7 S1 v/ h; U6 b5 w/ b. Q
keep if ddy240<0
% l) O# |7 Y+ G, A k7 b7 J + }$ F& E& i, [# m7 X3 Q( {2 Z
gen temddy240=-ddy240
7 s! y6 m3 H! v
8 L. y8 `3 ^* Y count' B* i& P r. H/ {( @7 l
& t; x! E$ S9 F# h8 _4 {6 [- L if r(N)>2 {1 J2 v: [& s) }7 o; o. ^7 @
, n( q v' K' `1 Q! Y' _ pkexamine dx240 temddy240
/ Z* J+ S" M+ F2 H9 P8 u, s3 x H 1 e& }+ [: e Y' l8 a8 K1 D, ]
local tempminplddy240=r(tomc)
; b7 }; v9 w7 g* ~# A) E7 V0 v restore1 y) q+ R6 q3 m
}! b3 m* h$ i4 d
: f, m4 g$ g/ {- h: N8 Q' T4 H
else {
, d1 i5 P" a; a" K% b 3 G, P2 y$ O" P0 B3 N5 q* J! }, }
di "cannot find pminplddy240"
+ d" p: B9 @% |3 O/ w restore
- ]9 O( \) q. g% I # e; Y- v |' ~- ?& a, M
sum dx240
$ t. c) e! X& k/ x1 S) Y local tempminplddy240=r(mean)
* ~0 O7 c- Y' @; J* S! g * C2 B& `, d7 {0 j0 \+ B$ @
2 ?, w" b! l ]: @* p/ H- \
}
' ?) z- l# Z: ]8 v
6 x7 z- K5 T6 `; d& K$ O
$ s9 a- H8 G5 u/ d' [/ K5 q) I2 W. W : f# K" C# D1 b7 r$ f7 P
. [2 b: }2 r7 I' j5 n # P7 c% d, P/ r* X& U0 `0 L3 e) f' ?
gen pminplddy240=`tempminplddy240' in 1
+ m2 h. r- Q* `
% L+ d5 H- k2 W* f *-------------ddy240pmaxp左侧高峰值 -------------------
+ ?1 l4 p, v. E1 q1 S( r. c' m 9 \/ f( g9 p8 n: x+ D
preserve " @$ e- i6 ?7 O% U
9 x! o" b8 A* Q1 M/ j
keep if dx240>`tempminp'9 t0 u/ [" {" l
- y5 I& A& J/ h" L) t9 K4 G keep if dx240<`tempmaxp'# s& w/ S9 A. ]8 z$ M; V
- o. g0 ?9 M+ V0 J" _3 K keep if ddy240>0
( C. ]4 }* q) J; Z7 ?% N count
. s# M3 s& q* p6 \$ q, Y# J * l, Z2 x: X" d. q
if r(N)>2 {4 ^1 {/ M; j8 H$ e/ K1 R
7 [8 p5 I9 j; z pkexamine dx240 ddy240
+ X* C# C$ M) ~2 f1 ~ 0 y" n p0 j; y" F+ M3 ?# E9 ]7 w' G4 `" g
local tempmaxphddy240=r(tomc) 3 Z6 z* }+ Q2 c( Q
. R- q' _# L; V) @2 q) W3 K* p restore) f. O+ w2 v, o* W
}- S1 {0 X. e. |: v; s; Q
L9 ~: m6 m) L+ s: p
else {8 y! u, G: C4 y, n) b
% d( n6 d/ } O% R: P
di "cannot find pmaxphddy240"
% I3 M: c3 r" h( {6 ? z' M, U( d restore" M" K0 ^0 u+ B# K
. X( v3 A$ J( d0 T sum dx240
( K! z- [, y5 z5 w! q local tempmaxphddy240=r(mean) 0 |, C: d. i; i* f# d0 k' w- d0 I6 X
. b# Q* n) G) x# t2 B4 E
- s+ x3 \) P+ F% H
}, O$ o) c+ d/ x Y
: b/ f3 t. N1 y3 Z: p/ C6 ?
, \6 V6 u. Z5 c2 m& ^
: z9 ~ g. I# u+ W! K4 w: e) v7 v * a8 v: R+ e, B: e0 e8 A
. |6 w- D1 E1 T . V/ q, q7 M4 J+ V
gen pmaxphddy240=`tempmaxphddy240' in 14 F/ G: ~" c- K5 X
) Q" R) x/ j7 q: c& t+ ~
4 \7 P6 V( O# ]( { H/ ^. Q *-------------ddy240pmaxp右侧低峰值 -------------------% \3 h: c3 S4 y ^. s
* U: j( i. m; \: B- C. D
preserve ' p, H6 S% c: x& \8 b" T5 U0 n
: F) e/ t2 O2 M' X. l3 B
keep if dx240>`tempmaxp'
- p: `* p. l1 b2 Y ^6 C" u$ P9 u, ^" e. D
gen temddy240=-ddy2400 C8 Y8 ~! h7 C9 ?+ I' y; o6 c
; E. ^+ \$ R( s" e( L8 C: A keep if temddy240>05 x4 a' }' I, a3 I4 Q
, K# C5 i+ B% `/ r9 Z# b! q8 v
count
. m9 P) ~7 R. F0 k. [$ P+ a7 [$ ^
1 h% I# ]1 t9 N! L if r(N)>2 {
( ?$ f/ F2 S$ P$ _
3 r7 x/ m; U* ^9 E, q6 Q pkexamine dx240 temddy240
$ D# }- R9 C E! U* B8 c6 u, |; b) c8 G
2 {# _: I5 E3 n9 j; c% y. {0 B( q& F local tempmaxplddy240=r(tomc) 9 a# A1 ?' B2 a+ |
restore8 M' |5 a; O$ \6 X; b- A' s
}
9 ~& l5 w0 y2 v9 D # d" ?5 J" Z9 d/ u4 k
else {
+ n- L& a" y3 A restore
* E# A" w, ^: n% p di "cannot find pmaxlhddy240"
" A8 q* R6 r$ }7 ?6 S% i6 H) c3 s 2 L4 u7 o' x1 w
( M* [) w: d3 I' K% v" v; }
sum dx2407 W. ~" B! P/ d7 w
local tempmaxplddy240=r(mean) in 1
: v* u r! i, ?' e- \ + p8 O2 x" ?/ z+ Q6 w0 G
$ c7 _2 Y6 y |6 O" H6 O# P }/ m4 e8 Z {8 }( d, K3 [
9 ^# F- F, Z6 l6 c+ p) y* s/ d: Z
0 [9 ?4 F3 A( x+ x( J% T& M: k
* s. r8 k& @( x4 w5 V+ d- N" K
: K. X5 v' @$ O
# S1 h% r, O% b
6 G% g) q0 o3 W J2 p gen pmaxplddy240=`tempmaxphddy240' in 1
$ G4 C5 d, y% s/ R+ W }# \& U8 W7 P0 W* d' X, H( B" V
*-------------------------------------
2 U8 \) B1 s6 `$ Y
( P3 @2 r5 E$ v( ^" Z9 c) Y gen price5d=v5 in 1/201 |; k& B& Y" ^0 S* _+ z/ N1 |
' j% }; B6 f* f
gen price5yy=_n in 1/20
8 m7 ^+ X+ _1 @4 Y! J 1 @9 l; ^4 ?- a5 a- [: i+ G& |. o
gen price5y=price5yy*(dy240max-dy240min)/20
- p8 F) d7 m }; ~
; N7 e/ E9 j1 W" M: } *price5y &price5d* A2 t! d: E# p9 T
+ i6 Y+ c$ Y2 l/ |& k gen priceny=price5y in 12 x3 p; x* e* y3 Z/ e
* f. m7 ]* M* d$ h
gen pricen=v5 in 1& |/ Z) L" m: d" Z* T: l; s
8 ]6 Q. ?" e+ ~8 i, J: j. S; ?. R
: e3 W2 t) j/ F( l' R' h8 E *priceny &pricen
4 z/ A. r! h) c( k8 n% P, g3 J
) E2 m* I0 ^/ B% V U6 W* E2 }' S" v7 @( C 1 n6 n7 T7 d+ m# N! K! _; L |; B
*-------------------------graph------------------
. v5 X& z0 e9 ~- |6 I% i. Z) d* e / D2 ^0 h; W$ k2 I) M: `
tw(line dy240 ddy240g dx240)(spike yxis amean,lc(blue))(spike yxis mean240, lc(red))(spike yxis maxp, lp(-) lc(black))(spike yxis minp, lc(black))(scatter yxis2 amean, lc(blue) msymbol(+) mlabel(amean)) (scatter yxis2 mean240,lc(red) msymbol(+) mlabel(mean240) lc(red))(scatter yxis maxp,msymbol(+) mlabel(maxp) lc(black))(scatter yxis minp, msymbol(+) mlabel(minp) lc(black))(scatter yxis4 pminphddy240, msymbol(O) c(l[-]) mlabel(pminphddy240))(scatter yxis3 pminplddy240, msymbol(O) c(l[-]) mlabel(pminplddy240))(scatter yxis4 pmaxphddy240, msymbol(O) c(l[-]) mlabel(pmaxphddy240))(scatter yxis3 pmaxplddy240, msymbol(O) c(l[-]) mlabel(pmaxplddy240))(scatter price5y price5d, msymbol(O) mfc(black) mlc(black) c(l[-])) (scatter priceny pricen, msymbol(O) mfc(red) mlc(red)), title("`f'") xtitle("`1'") ytitle("density") legend(off)
4 K1 q b' H8 K) u' D0 t4 j$ h
* ---------可选项目----------------------9 o, |/ V6 ? I: m1 P
/ W. p0 `+ R; j j. t
}
" k5 E; Z* a4 I6 q9 c& D/ t6 `' bend0 Z4 H2 z1 z I7 Q1 Q/ p
|
|