|
|
改了一下,这次运算应该没啥问题了
: p' e; f( P$ s
! s ?6 Z2 B3 F& ^" r
0 B V! a* j0 L; Dcapture program drop hello) @ A, f) T! |
4 M3 ]6 g. l/ e, Cprogram hello
# H. y1 i0 \4 x i1 F, {* Y5 {
: K" n& b6 t( {2 j& v quietly {+ ?3 T1 u" m2 c* r+ u0 G; a6 R5 ]% x
7 i6 P3 A$ {2 m* J" [# i" [
clear
. a" ~# q4 O; @1 R- a2 e+ E$ K/ A
# `* E6 d v- K" I/ K# v! |& [, Bcd e:\finance\stock\20110101\source% o7 n3 e ^5 T
- ]" K6 r7 K0 ?" M* L- n6 d5 o. t
insheet using `1'.txt
5 K" O# k, t5 c( B& w8 ?7 W% G0 m' e# F* z& ?! K0 t; d
keep if v5>02 k1 b* I7 u# V$ d$ C" K- s
& J6 ^6 y- ^/ U/ i gen vt=_n4 L1 t* \! r8 M' V5 q; _% y
1 w7 M( }3 x0 D- u
tsset vt) T3 C+ w4 f3 z% e/ @
/ w; p' V. N& K* t- M/ z gen zf=D1.v58 B6 _$ w( s9 @& W8 z
" ?( U7 R6 a3 F
gsort -v1
1 L2 m' n4 k. T* Y# ~* B% @+ ^8 _ v4 M( C8 m9 v& }
gen avol=v7/v5
0 \% l) K. e$ C! Q+ Q2 C 7 i8 l P( ^7 o
keep if avol>0; {) K \& C( P& t
# Q" G4 e" d2 M! j* K5 i3 b( B
drop vt
! e5 y: ]& O1 d, J, Z/ ? ( `9 K8 X a3 z0 X' f
gen vt=_n
X- Q- x2 K* M2 `; S# A/ f 2 l* w6 G& L0 }/ S) v
tsset vt1 h' `$ N" g" s% [5 k
" ]( G+ G$ m0 ?0 L6 s! d
sum v5 [aw =avol]/ V9 |" Z5 \; j5 D" u7 r& L# @
7 r8 }% K; [8 J: R2 Q- e
gen amean=r(mean) in 1
3 O, ~/ h6 w3 g. A. C; I ], X
9 ~, }+ ]' V$ j% M! e * 总加权平均值 amean a$ h; U. ]/ r. S3 v' v; I
2 ~* D- E* @, e' n + P) G& F' U! s* W2 D& D& Q. a; M- y
keep in 1/240
# j! e: S2 T X3 R/ m
. E7 I* j( ~. f5 B sum v5 [aw =avol]# ~8 ?( N9 ?& D0 z4 ?
1 u' {" ]8 J9 V/ T gen mean240=r(mean) in 1' s) [9 M7 p( K0 e* a
7 z+ J% ^! \: Q4 h+ | *240加权平均值 mean240
# O! T' f5 |3 m- g
! i2 Y$ w9 F b/ u# U( o6 l& c set obs 500
v9 }- v5 e& \* a8 r& H
. A$ S- K% G+ G& Q% s8 B kdensity v5 [aw =avol],gaussian n(500) generate(dx240 dy240) nograph5 q- i' ?/ z. P" A
8 J# G0 [, L5 A, b+ @; R
*240 kdensity(dx240 dy240)
: A- h0 l: H0 X8 g % X( L h; C9 c0 A% Z
sum dy2406 J$ L" X+ Q; Z
; m3 G- U' I6 f& p9 G gen yxis=r(max) in 1
3 _) M, O0 [" V, O
! a' C* B9 Q: U B& _: Z9 o gen yxis2=yxis/2- X0 S! |+ ?; l6 G2 Z6 l
" }1 W! D6 l, h* h" B *yxis* p; s- w* X$ T n) |
) } b- e; F- @& A* E gen dy240max=r(max)
4 C5 U! [& B& f1 b+ B1 Q3 i5 d8 f \/ s* K0 ~+ E" r% |$ p' g
gen dy240minp=r(min)
# B$ n6 \* @3 N( l d
6 k% r2 j5 k8 a+ K& \ gen vtt=_n2 _; f+ f/ f8 y: ^; }4 K% x& J8 M4 m) N
M" K7 G' x% \. T tsset vtt
^( r# W# r/ Z4 u
; ]8 n# k" c! L; V8 n9 F4 ]$ | gen ddy240=D1.dy240/D1.dx240' y. A6 D; e# `1 M: E1 ~/ Y
8 g; ^# v+ ?+ a2 H
sum ddy240
# X; ]0 W3 m! x" o. q ; K/ e) X" Y* Z/ u
gen ddy240max=r(max)* ]* K3 K! Z7 s
9 B C! n: v# Q4 Z+ I: [2 `6 h gen ddy240min=r(min)
' m. H% ^) z7 O) p7 s' V& \7 O% a$ e
4 i* f; W' l8 A# ?* _ gen ddy240g=ddy240*(dy240max-dy240min)/(ddy240max-ddy240min)
& L( q3 e T* _/ w4 j. Z/ g
6 a' u' X( m" r4 k9 y6 J sum ddy240g2 b9 r7 ?! p/ ]. ~
2 t2 q1 Q( t, B( o
gen yxis3=r(min) in 19 |! {4 f% }/ Y7 k
7 |" s( U2 D6 c+ R% T! M& D1 }2 l$ m gen yxis4=0 in 1
, r* A$ d2 i2 f% r& i$ o5 g0 m 7 g: K. r4 S6 `' a5 E3 e" E
*ddy240g ; K- Q9 n0 {: L" |, q# Z
8 P9 I% }; x8 Q( w9 W* z) {) E2 }' v
- t' ?. P4 _1 o' }" }+ c$ C preserve
1 H; h- h4 `4 ~) D0 y. B; P E
' [+ z! A9 p) I# z% e sum v5 [aw =avol]
7 K+ o" ~7 i/ L" j( }3 [7 X
) X) Y f5 v5 S4 x keep if dx240<r(mean)9 P- x( A, U v
& Y5 \& z/ U- g/ ]6 N sum ddy240# B8 K2 e7 J0 Z: }
2 x" @" R9 S; D/ m if r(min)<0 {" |% V$ \0 d" t* f/ Q: _& r( [
1 o6 }6 M3 n) [. t/ v/ _
keep if ddy240<=0
$ x% x; g$ K& i
, t6 h6 U$ x* G, C3 e8 k, J" z7 S% j count* i i! g* H* q3 |! _' ?2 R
7 f( n8 w; \* S$ F3 i2 S
if r(N)>2 {
( N6 W" R8 P9 e, [# M7 y. @3 A
& }& J6 g8 \0 m1 G- v0 O$ [. K pkexamine dx240 dy240/ J: `1 [; j. W) L
; j* U$ N; U- j* e! M+ R3 A local tempminp=r(tomc) v6 F* Z6 p* N# }
restore " @( `) w& u1 b* [; p8 ]# E
}" I5 e6 u: O Y: C- H
5 V( u n: z2 i
else {& e$ z) A9 d4 ]( b# v/ K$ ]2 u
1 g. v* ]- }5 W" O+ B/ ^9 U8 z% M
di "cannot find minp"7 q6 Q6 {# D0 I2 p( ~
' X0 v, U1 \8 _2 t0 o: D
restore
, W" h1 j9 D; S: j6 ^ sum dx2409 W; k4 q$ |% g9 X% \
local tempminp=r(mean)
) R4 r% w8 m( }9 ]: x+ d
" P; O2 W3 D h6 r( l }
( b' ^! e! l, @, } V; x8 n% ]$ \ }
& W8 p3 }) e) M# l. u else {1 J# Y3 \$ a/ y `: w
3 ?$ \9 s2 F7 f3 |/ D, l! c0 c
keep if ddy240<=r(min)7 V4 x8 q( D) V7 f
" `& F) E& `7 N5 b& Z
sum dx240; W- I. p) |; [. F
# J& c [0 W) D j& Q local tempminp=r(min)
) L& r4 \" S" {6 @3 B# L restore " K, u5 S4 F b7 S0 \
}. I# ~' o/ c0 B
' _ h+ [ i$ \8 A( p4 v
8 U3 o1 n8 c: Y, v
& S5 I: P" r! \* y gen minp=`tempminp' in 1
1 M; y7 h8 a f" S- O *240 minp
( e! O2 k& r7 }$ \7 C) r
/ }2 q* O* m+ u* u a, ?5 r7 ]8 A: x5 k1 Z# |
, X" m9 [1 ?, o* ?0 Z T preserve
( X1 p, a1 l( L% y9 z; p ! E; [5 U! p' W8 E2 d
sum v5 [aw =avol]% z% Q8 M, J ~ v1 |, o* s9 c
) L( X7 l' O# J2 o d a keep if dx240>r(mean), K. x7 k! R) v% n8 s& h: Y
# S' d5 H! D7 [, G3 x, ~' V- ~: a
sum ddy240" T3 `! e7 ~/ C1 L. Z% o
) l; e, ]$ W+ D8 O
if r(max)>0 {
% e4 e. A( l* q! D3 z
9 }+ ?& A+ R; F8 q0 X$ m keep if ddy240>=0$ v' o9 y7 n9 u& y5 ~ r$ ^& u( d4 |
9 w0 y" \1 Y! K$ i3 W count
2 d/ p% g. `3 n% {4 S
# x# u/ x8 P7 n0 |2 C% S/ N if r(N)>2 {4 D, s$ A) a, g _' X7 O8 \
p% N& P1 X- q, B1 N- n
pkexamine dx240 dy240
) N$ U- t4 H9 ~7 `) |) \9 h1 I & d3 T. X/ _$ r/ C: B
local tempmaxp=r(tomc) ! d0 e7 i1 C6 C* o2 G+ E5 F8 J
restore
, B; C" Q) {$ I) | }' C7 q4 c* ^3 }2 I# s3 o
/ t- x9 ]. J" x4 Q: c% N: {* e ^4 E4 H m! c& ?/ B- ]' `
else {
1 U, _5 n: a! S6 O$ J restore ) R1 _9 J$ q* P3 U# {" r f+ f$ [
di "cannot find maxp"4 X# z8 D1 {3 _' P% Z
6 D- i8 `' U& [5 t8 J, G$ n. y
. I7 a0 G1 p, Z9 r6 ~' H2 x
sum dx240$ I- p, C5 S: _1 h, s: m
local tempmaxp=r(mean)8 x. e1 c9 M) r, ?3 b. I
' f- h6 B+ B9 n1 b# E' L
}
4 B: N" F1 _ z* b( K# R) a ! |* s. |9 q. T$ A9 E* [8 w
}
+ A) e$ E. O2 |& p% v: ^/ A 0 x* j4 _3 _0 S1 m4 I# ~/ M
else {! Z- V5 [3 t+ \. c
+ L) L9 [3 A! o4 U# P& _, y: I/ Z keep if ddy240>=r(max)
6 U$ R7 C" U/ |( s % i: Y) n# y5 W0 ?
sum dx240
' X' m) L' p' b3 q2 q/ J
" J7 ?& L( Y0 q2 c local tempmaxp=r(max)
5 C) H7 C# ] f0 k7 s restore
$ n( @8 y+ o: l) _. G; ?% q }
1 g9 ~6 E$ \: _8 S
+ ^, i# A5 K( j: h: K' p6 d# z/ q5 ^8 J: c! c3 V) S/ }
: G9 ~9 F! ^' d6 @4 F6 H( O- G4 B' F' j
gen maxp=`tempmaxp' in 1
( t2 _/ _9 r$ p1 ?9 Y
+ P) l( @$ y) ]6 i *240maxp
2 u! f- ]7 h! X( @+ E4 ]- s9 c
6 ?1 ]7 R3 {1 ?3 Y# V 6 z- o, a; M5 q! `' R1 H
*-------------ddy240pminp左侧高峰值-----
& P& t8 }2 ?8 q+ r: F6 K. D8 \0 X
/ W; E' |5 O/ Q6 g( I preserve
( d8 s% L8 j5 ^ `
, {3 M& u- }, M6 U ]& Z keep if dx240<`tempminp') \8 u( S. I/ i. R$ P+ O8 Y' ?; W
. J5 w3 |6 @$ K
keep if ddy240>0
4 e4 @: r% x4 L5 E# I+ ^ 3 @+ Q3 P$ U$ m" \+ M
count s' s, q1 R* p8 C
& P/ L" [8 O8 o- r+ R
if r(N)>2 {
; B0 z! B( F- p8 V" v% D
6 F. Z6 v. V( b& W; O1 C pkexamine dx240 ddy240$ K: H( ?( B. {" ]' G: T b: x" N
* H- H* H# C6 H* m0 A- O
local tempminphddy240=r(tomc)
$ C/ r7 R8 U5 S; {) G6 n restore
3 R9 m% }/ ~! v. V }
+ @: F# O$ R) W" f% M( ~ - Q3 @; p S1 S3 W. P3 L
else {
( A, x9 ?) \3 ^4 d: ? restore . t! m; w2 s& D9 U
di "cannot find pminphddy240"+ M' X% t" N! U& F; \/ j" h
% X8 ]. L0 M4 i
& g6 s. _# \0 W8 g0 P o0 r
sum dx240; v" k2 [5 h6 B: p3 F! `/ M
local tempminphddy240=r(mean)
, @/ e0 a! C9 c: A$ q9 V
0 s! a/ `4 @* H- {+ s K0 p
: j' E9 j7 X' R$ y) K6 M( T }
) ^% ?$ ?: C$ k+ z4 T4 V
& R1 N+ f. z: c2 M) }3 B( x/ B . E9 b r% k9 k) @
! [ H$ d5 g) j3 c% y% H
) e. h+ H/ Y/ _0 a, |! l& Z : W% l) y4 F+ X
4 s6 y/ A6 ~4 o4 z! J4 z
gen pminphddy240=`tempminphddy240' in 1
5 s' B* b& j! u, v& N
% m c; v1 ]* L I5 W% T ! a7 m! _8 H) h+ I
*-------------ddy240pminp右侧低峰值 -----------------
& X+ X. L" v% T. ~" { |- H preserve
: A% R2 w, ^. v1 Z
& ]: G) c7 ?& g6 S; k2 D keep if dx240>`tempminp'3 |* Y: j: d* T O
; F3 _3 l# [+ ~$ @* o# [+ p
keep if dx240<`tempmaxp', _2 q( d8 t: g9 T$ Y( c) L0 V
2 U- ]! l) z' {: k6 k keep if ddy240<0
' Y" b# b z' B% n ' |, Q5 z1 l6 T4 P* c
gen temddy240=-ddy240 q! R' Q& i* U, c5 H1 @
$ {! C6 z7 `/ ^1 _4 y1 E count% j8 f& Z% M5 M; o' k, N# E9 \
. n4 P8 I0 A1 N# D9 ~* h if r(N)>2 {
7 R# i/ M( n( b1 W3 A2 T, f
9 @2 `4 D/ v. E! P" B pkexamine dx240 temddy240
" D. ^* Z, K, [3 n8 Y8 l/ [ 3 A @5 E& V5 H% D" w, U) n
local tempminplddy240=r(tomc)0 I( x, o6 m$ }$ Q. P; o5 j1 Q0 l
restore
/ m3 M% d) n$ w1 ^& h9 Q }
1 k2 Z- L+ X1 h7 f
' B- O- j; q1 B& O else {1 d0 R& u) Z* p3 M
! s& J. F% T9 p/ R& z0 G8 ~ di "cannot find pminplddy240"
# W, P" i5 W3 ~* Y restore
* V2 `7 ~2 d3 R0 \$ t+ ~+ ]$ J
0 x* I4 R' T9 ?: S. e( ` sum dx240
2 T2 }8 b& _; J! O2 e. X3 R local tempminplddy240=r(mean)
P& \ ~6 x. z
6 j$ k9 z) q: r( s + U8 q* G1 T* |% t+ ?4 n
}
5 J- c4 ~) T/ |! m3 q
& k9 ~7 P3 _+ A/ ?
' B; x! V4 B" g; N( L+ q9 x6 `5 u% { 3 V8 B0 H) o4 @. S f6 D- {
$ ^/ J" \! n$ R6 r1 G. [
& T' ]( Q1 ^6 C- V& J8 b4 S
gen pminplddy240=`tempminplddy240' in 17 z: p- K' Y+ l7 g
& ~ n* S. D5 W2 ]3 {
*-------------ddy240pmaxp左侧高峰值 -------------------( V6 L' N' h" O" V
8 B+ V( Y$ J% V9 p* R g- k
preserve
( L2 M; L: s7 S- ~ E- m
7 x1 l4 h% x+ O' q% t2 k keep if dx240>`tempminp'
( }5 U- Q* I# c! D% z
7 R b& v* t/ u$ h! Q3 ? keep if dx240<`tempmaxp'0 B9 F) `% j4 Y& v
% D: a U+ J {; f' m+ T' |+ l
keep if ddy240>0
0 v' Y5 ]) N) m) V) C; r% I3 u count
+ E) t& S0 i+ ?7 i
) S$ B" J2 [0 S. o: J7 F! H if r(N)>2 {, O7 U( t5 V1 S. ~8 i, W0 K
5 }3 l: p+ Z* B" V, d" d pkexamine dx240 ddy240
% R7 [9 o' b( y: V- }
# r# P1 P" V* T$ y- F local tempmaxphddy240=r(tomc)
6 c* ]; K2 u8 z# x& y2 [3 k8 C 2 H( s0 U" Z( U, i4 O
restore7 e5 R. q6 P; G/ K: F
}- Z5 y- z6 w4 Q
. B3 n* ~( g8 L
else {
9 R: Z7 w5 J% i 1 v: d: U6 n8 w7 |+ M- g' D( a
di "cannot find pmaxphddy240"
' S8 m' ?' s. ~) L9 P+ }$ y restore
% N' z; z" M0 s
9 U4 X/ B! I0 b sum dx240
. `% m/ S* `/ P" Y local tempmaxphddy240=r(mean)
3 \" R7 Z& H& R3 m
3 a9 {3 L- T7 c7 h! X
0 e3 x0 `# ]+ E9 d: A. P }( X5 [* _* e: _) l5 r# q
" o/ ]8 H% t- W' ^5 o1 X) L
& m5 x r, F1 o* V3 z+ }- E2 e
3 b& i; \2 H0 ^: T6 u* T8 D, A
6 e! G) v# }4 \* O2 L: B
% ?0 @/ d/ `) C+ X4 `$ ]
4 D! h V' @& s1 J gen pmaxphddy240=`tempmaxphddy240' in 1: u# {) Y8 J: }; w1 A5 w' |! s
1 \8 m/ y/ d- B' x- `' F5 V
, x; S- C/ S3 h/ y- h *-------------ddy240pmaxp右侧低峰值 -------------------! q, U% f7 q7 ?# H. H$ R2 g8 {) y
4 l) p: n# f+ b" R! P" \1 D1 [" _- q/ m preserve
6 T, O. u2 j. i& @* @1 p
& z# F% q* z+ c+ N& I keep if dx240>`tempmaxp'
4 U/ v5 e% c+ y( E- l* _# l
1 ]& `$ S7 [4 Y* o gen temddy240=-ddy240' C( g) y0 l) H
/ o. ^( I% h) X) u$ i
keep if temddy240>0" C) [4 W$ o. f
* h3 Y; H9 u2 b/ t: U2 \. c) `7 a
count
9 u1 C6 R H" V% @. [
3 X1 j2 J& V9 N. r: K if r(N)>2 {
4 g1 ]0 K! \, v+ M, q5 _$ F
m- b( q+ V/ f9 x7 x pkexamine dx240 temddy240
! t, o9 L* w0 w) ^% E8 ^6 v. n/ L - ?% C% S/ d. b7 D( f/ {4 }0 u+ ^0 c
local tempmaxplddy240=r(tomc) ! _9 u$ P3 \, c7 ~# W2 e
restore
3 q, X4 H1 n& W" g$ t }
3 ?. g% f% o: }- d: n' q# y 2 I1 G8 i9 N3 y
else {
. U* J. X+ k. a$ T- u+ @ restore
2 P$ i1 s* B, t. q7 b di "cannot find pmaxlhddy240"
, ^6 ?8 v5 x/ w5 v
" @; m( n+ ?4 n+ ~2 l! ~5 t 0 H, M0 D! ]1 N z# k
sum dx2404 e( D4 S4 B7 _1 |$ M6 V
local tempmaxplddy240=r(mean) in 1
0 d1 m+ L9 R0 r4 u( d. v# D2 l
7 r# [5 b, t" z2 ^, r
* C. r* O7 V* o. ~0 z6 Q }$ Q$ l/ q" }( M( K, k; |3 B
0 c( X) y+ |; {( g
" E0 X, i; i: I3 u, r4 b& `
: K3 G* V/ I' C, T3 T8 m
; p% G& O3 b- s7 U 3 F) ?" {' }8 W# a/ {* ]+ m8 B$ |% M
+ f6 _1 W! m3 u9 @- d gen pmaxplddy240=`tempmaxphddy240' in 1! }5 j# q+ c" d/ X. i8 u% h K8 C: P
8 \) M5 G4 ?. C3 g7 k/ P *-------------------------------------
# M( X0 c$ f# m, E6 w
! ?$ P2 q: n. H" `. b& P! z gen price5d=v5 in 1/20
+ ?- U3 h$ P0 D- _2 b+ d
6 O2 c% h! t: S3 I3 s: D5 L4 ] gen price5yy=_n in 1/20
# H \) `& \) J& G+ z4 W1 u # D0 J# i0 D/ ]
gen price5y=price5yy*(dy240max-dy240min)/20* e$ J- I" c% x% c* ]
4 H/ A/ I: T( G3 U# f* K; u
*price5y &price5d
" A! K% H W: w; u% t 2 r- j+ ^* j6 J4 t
gen priceny=price5y in 1
3 ?# d/ m) _: g; b& d 3 E3 { h- h& ^9 p4 C% ^2 z/ V
gen pricen=v5 in 1
) I g6 c( E. P* ~- C% o/ E( L) r, T5 Y/ B8 `4 p
0 `$ V2 a1 Q* v2 Y
*priceny &pricen! @ }0 C# W" W9 X0 w g& A# c' z
2 h( ^1 e, ?& _2 y. O1 |
4 ?* c2 n! Y- P! S5 r+ b& i *-------------------------graph------------------
8 u" H2 K0 d a/ V: Y: ? # \3 v! ^2 B& \
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)
/ w$ k% l" @! |; \( @0 n q/ t/ s5 M" y6 D+ T0 Z+ k" h
* ---------可选项目----------------------
8 w8 u" J( D' E4 O0 S, c2 ?& |0 s) a- @; q8 ]
}
* G) l# H" g3 n0 a8 w* Wend: x9 N( s. }8 ]$ z
|
|